/**
* Para manejar los eventos de un JCheckbox
* utilizamos un ItemListener cuando queremos realizar una accion
* al seleccionar/desseleccionar un checkbox 
* 
*/

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class DemoCheckbox extends JPanel
{ 

  public DemoCheckbox()
  {
    // Colocamos un layout al JPanel
    setLayout(new GridLayout(4, 1));

    // Creamos un checkbox con su estado iniacial en true
    JCheckBox cb1 = new JCheckBox("Java", true);

    JCheckBox cb2 = new JCheckBox("Visual Basic", false);
	JCheckBox cb3 = new JCheckBox("Delphi", false);
	JCheckBox cb4 = new JCheckBox("C / C++", false);
    
	//Creo un ItemListener para los checkbox
	ItemListener evtCheckBox=new ItemListener()
	{
		public void itemStateChanged(ItemEvent e)
		{
			JCheckBox chk=(JCheckBox) e.getItem();
			String opcion=chk.getText();
			if(e.getStateChange()==ItemEvent.SELECTED) 
				System.out.println("Selecciono "+ opcion);
			else 
				System.out.println("Des-Selecciono "+ opcion);
		}
	};

    add(cb1); cb1.addItemListener(evtCheckBox);
    add(cb2); cb2.addItemListener(evtCheckBox);
	add(cb3); cb3.addItemListener(evtCheckBox);
	add(cb4); cb4.addItemListener(evtCheckBox);
  }
  
  
  public static void main(String args[])
  {
	  JFrame ventana=new JFrame("Demo Checkbox");
	  ventana.getContentPane().add(new DemoCheckbox());
	  ventana.setSize(200,120); 
	  ventana.setVisible(true);
	  ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}